library(tidyverse) # utilizar a sintaxe tidyverse com o R
library(survey) # análise de pesquisas complexas
library(srvyr) # provê notação tidyverse para o pacote survey
library(PNSIBGE) # acesso aos dados da PNS
library(broom) # sumariza as informações dos modelos em formato tidy
library(gt) # tabelas
library(gtExtras) # formatação de tabelas
Segue algumas dicas para a leitura de dados da PNS.
Esse é o começo da análise feita para a minha Monografia para o curso de Economia na UFPR. Outros posts com a TAG de “TCC” fazem parte da mesma análise.
Pacotes
Esse Chunk contém todas as bibliotecas usadas no decorrer de todo o trabalho.
Carga de Dados da PNS
Para acessar os dados da PNS usaremos as funções do pacote PNSIBGE disponível no blog do Garbiel Assunção: https://rpubs.com/gabriel-assuncao-ibge/pns
a principal função utilizada é a ‘get_pns()’
# Subgrupo de variáveis desejado:
= c("C006", # sexo
variaveis_pns_2013 "C008", # idade
"J007", # possui DCNT
"J014", # Usou serviço saúde nas últimas 2 semanas
"J037", # Internação nos últimos 12 meses
"J002", # Deixou de realizar atividades nas 2 últimas semanas por motivo de saúde
"J011" # Consulta médica nos últimos 12 meses
)
= c("C006", # sexo
variaveis_pns_2019 "C008", # idade
"J007", # possui DCNT
"J014", # Usou serviço saúde nas últimas 2 semanas
"J037", # Internação nos últimos 12 meses
"J002", # Deixou de realizar atividades nas 2 últimas semanas por motivo de saúde
"J01101" # Consulta médica nos últimos 12 meses
)
# lendo os dados da PNS 2013
<-
pns13 get_pns(
year = 2013,
selected = FALSE,
anthropometry = FALSE,
vars = variaveis_pns_2013,
labels = TRUE,
design = TRUE)
# Vamos utilizar a versão sem pesos dos dados para obter informações sobre __labels__ e __levels__.
<-
df_pns13 get_pns(
year = 2013,
selected = FALSE,
anthropometry = FALSE,
vars = variaveis_pns_2013,
labels = TRUE,
design = FALSE)
# Vamos trabalhar com o pacote srvyr e não com o survey,
# por isso precisamos transformar survey.design2 em tbl.svy
<- srvyr::as_survey(pns13)
p13
## Ajuste dos dados para aplicar regressão de Poisson
## A regressão de Poisson requer que a variável objetivo seja numérica.
## Neste caso vamos ajustar as variáveis categóricas para valores 0 ou 1.
levels(df_pns13$J007)
[1] "Sim" "Não"
levels(df_pns13$J014)
[1] "Sim" "Não"
levels(df_pns13$J037)
[1] "Sim" "Não"
levels(df_pns13$J002)
[1] "Sim" "Não"
levels(df_pns13$J011)
[1] "Nos doze últimos meses" "De 1 ano a menos de 2 anos"
[3] "De 2 anos a menos de 3 anos" "3 anos ou mais"
[5] "Nunca foi ao médico"
levels(df_pns13$C006)
[1] "Masculino" "Feminino"
# Vamos mudar o formato que a variável é apresentada para, no futuro, podermos realizar uma regressão de Poisson
<-
p13 |>
p13 mutate(iJ014 = if_else(J014 == "Não", 0, 1),
iJ037 = if_else(J037 == "Não", 0, 1),
iJ002 = if_else(J002 == "Não", 0, 1),
cJ011 = if_else(J011 == "Nos doze últimos meses", "Sim", "Não"),
iJ011 = if_else(J011 == "Nos doze últimos meses", 1, 0)) |>
mutate(J007 = relevel(J007, ref = "Não"))
No final o objeto “p13” esta pronto para começarmos a análise